package com.yunxi.order.pojo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.io.Serializable;
import java.util.Date;

/**
 * <p>
 * 订单退款表
 * </p>
 *
 * @author 
 * @since 2019-09-09
 */
@Data
@EqualsAndHashCode(callSuper = false)

@ApiModel(value="TrRefund对象", description="订单退款表")
public class TrRefundVO implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "主键")
    private Long id;

    @ApiModelProperty(value = "租户ID")
    private Long tenantId;

    @ApiModelProperty(value = "实例ID")
    private Long instanceId;

    @ApiModelProperty(value = "渠道编码")
    private String channelCode;

    @ApiModelProperty(value = "用户ID")
    private String memberId;

    @ApiModelProperty(value = "退款单号")
    private String refundNo;

    @ApiModelProperty(value = "订单ID")
    private String orderId;

    @ApiModelProperty(value = "申请状态 1待审核 2审核通过 3审核驳回")
    private Integer status;

    @ApiModelProperty(value = "退款主题")
    private String refundSubject;

    @ApiModelProperty(value = "退款申请类别 1退款  2退货退款 3异常退款 4仅退款")
    private Integer refundType;

    @ApiModelProperty(value = "退款付款方式 1.线下汇款 2.现金支付 3.刷卡支付 4.在线支付")
    private Integer refundPayType;

    @ApiModelProperty(value = "退款金额")
    private Double refundActualAmt;

    @ApiModelProperty(value = "退款商品金额")
    private Double refundTotalAmt;

    @ApiModelProperty(value = "退款商品数量")
    private Integer refundItemNum;

    @ApiModelProperty(value = "退款原因")
    private String refundReason;

    @ApiModelProperty(value = "开户银行id")
    private String bankId;

    @ApiModelProperty(value = "开户银行支行id")
    private String bankBranchId;

    @ApiModelProperty(value = "银行账户")
    private String accountNo;

    @ApiModelProperty(value = "银行账户名称")
    private String accountName;

    @ApiModelProperty(value = "退款说明")
    private String refundExplain;

    @ApiModelProperty(value = "拒绝原因")
    private String rejectReason;

    @ApiModelProperty(value = "拒绝说明")
    private String rejectExplain;

    @ApiModelProperty(value = "申请时间")
    private Date applyTime;

    @ApiModelProperty(value = "初审时间")
    private Date firstExamineTime;

    @ApiModelProperty(value = "审核时间")
    private Date examineTime;

    @ApiModelProperty(value = "退款时间")
    private Date paymentTime;

    @ApiModelProperty(value = "关闭时间")
    private Date closeTime;

    @ApiModelProperty(value = "退款类型1.特惠车订单退款")
    private Integer refundOrderType;

    @ApiModelProperty(value = "联系人姓名")
    private String contactName;

    @ApiModelProperty(value = "联系人手机")
    private String contactPhone;

    @ApiModelProperty(value = "是否取消 0：未取消 1：已取消")
    private Integer isCancel;

    @ApiModelProperty(value = "取消时间")
    private Date cancelTime;

    @ApiModelProperty(value = "取消原因")
    private String cancelReason;

    @ApiModelProperty(value = "逻辑删除标志,0表示未删除，1表示删除")
    private Integer dr;

    @ApiModelProperty(value = "创建时间")
    private Date createTime;

    @ApiModelProperty(value = "创建人")
    private String createPerson;

    @ApiModelProperty(value = "修改人")
    private String updatePerson;

    @ApiModelProperty(value = "最近一次修改时间")
    private Date updateTime;


}
